--[[ 编码: WMS-81-13 名称: 出入库测试-新增窗口-选目标货位前 作者:HAN 日期:2025-1-29 级别:固定 (说明本段代码在项目中不太会变化) 函数: BeforeSelectLoc 功能: 弹出货位查询面板 更改记录: V2.0 HAN 2024-03-29 改了一下查询条件 --]] json = require ("json") mobox = require ("OILua_JavelinExt") m3 = require("oi_base_mobox") function BeforeSelectLoc ( strLuaDEID ) local nRet, strRetInfo -- 获取仓库编码 nRet, strRetInfo = mobox.getCurEditDataObjAttr( strLuaDEID, "S_TO_WH_CODE","S_TO_AREA_CODE","S_TEST_TYPE" ) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "获取当前编辑属性失败! "..strRetInfo ) end local obj_attrs = json.decode( strRetInfo ) local wh_code = lua.Get_StrAttrValue( obj_attrs[1].value ) local area_info = lua.Get_StrAttrValue( obj_attrs[2].value ) local test_type = lua.Get_StrAttrValue( obj_attrs[3].value ) if ( area_info == '' or wh_code == '') then return end local seg = {} seg = lua.split( area_info, '#' ) local area_code = seg[1] -- 设置 action 的参数 local action = {} local value = {} action.action_type = "open_data_query_dlg" value.multi_choice = false -- 不多选 value.cls_name = "Location" -- 选择的数据类标识 value.grid_style = "basis-选择面板用" -- 选择面板中 GridStyle -- 选择wh_code仓库area_code库区,已经启用并且没有被锁,并且有空余容量的货位 value.condition = "S_WH_CODE = '"..wh_code.."' AND S_AREA_CODE = '"..area_code.."' AND C_ENABLE = 'Y' AND N_LOCK_STATE = 0 AND " if ( test_type == "入库" ) then value.condition = value.condition.." N_CURRENT_NUM = 0" else value.condition = value.condition.." N_CURRENT_NUM > 0" end value.order = "S_CODE" action.value = value nRet, strRetInfo = mobox.setAction( strLuaDEID, '['..lua.table2str(action)..']' ) if (nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), strRetInfo ) end end